package com.ts.api.module.api.service;

import com.gitee.apanlh.web.model.vo.RequestVO;
import com.ts.api.module.api.entity.po.ApiKeyPO;

import java.util.Map;

/**
 *  API-我方接入对方-全流程业务层
 *
 *  @author Pan
 */
public interface ApiReceiveV3Service {

    /**
     *  撞库
     *
     *  @param  apiKeyPO    API渠道实体
     *  @param  requestVO   请求参数
     *  @return Map
     */
    Map<String, Object> dataExchange(ApiKeyPO apiKeyPO, RequestVO requestVO);

    /**
     *  进件
     *
     *  @param  apiKeyPO    API渠道实体
     *  @param  requestVO   请求参数
     *  @return Map
     */
    Map<String, Object> apply(ApiKeyPO apiKeyPO, RequestVO requestVO);

    /**
     *  撞库-手机号掩码模式
     *
     *  @param  apiKeyPO    API渠道实体
     *  @param  requestVO   请求参数
     *  @param  maskLen     掩码长度
     *  @return Map
     */
    Map<String, Object> dataExchangePhoneMask(ApiKeyPO apiKeyPO, RequestVO requestVO, Integer maskLen);

    /**
     *  进件-手机号掩码模式
     *
     *  @param  apiKeyPO    API渠道实体
     *  @param  requestVO   请求参数
     *  @param  maskLen     掩码长度
     *  @return Map
     */
    Map<String, Object> applyPhoneMask(ApiKeyPO apiKeyPO, RequestVO requestVO, Integer maskLen);

}
